//
//  DataBase.h
//  NJUSTHelper
//
//  Created by 郑越辉 on 2017/9/18.
//  Copyright © 2017年 njust. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "UserModel.h"
#import "ScheduleModel.h"
@class UserModel;
@class CourseModel;
@class ScheduleModel;
@interface DataBase : NSObject


+(instancetype)sharedDataBase;

/**
 ******************************************
 *                                        *
 *              用户数据库模块               *
 *                                        *
 ******************************************
 **/
/* 判断用户是否存在 */
-(BOOL)checkUserIsExistWithUserId:(NSString *)userId;

-(void)logoutAllUser;

/* 添加用户 */
-(NSInteger)addUser:(UserModel*)user;
/* 更新用户 */
-(NSInteger)updateUser:(UserModel *)user;
/* 删除用户 */
-(NSInteger)deleteUser:(UserModel*)user;

/* 查询所有用户 */
-(NSMutableArray *)selectAllUser;
/* 根据Id查询用户 */
-(UserModel *)selectUserByUserId:(NSString *)userId;

/* 查询登录用户 */
-(UserModel *)selectLoginUser;
/* 更新教务处密码 */
-(NSInteger)updatePasswordWithUser:(UserModel *)user;

/* 更新图书馆密码 */
-(NSInteger)updateLibraryPwdWithUser:(UserModel *)user;


/**
 ******************************************
 *                                        *
 *              课程数据库模块               *
 *                                        *
 ******************************************
 **/
/* 清空用户的课程 **/
-(NSInteger)removeAllCourse4UserId:(NSString*)userId;
/* 添加批量用户的课程 **/
-(NSInteger)addCoursesWithArray:(NSMutableArray *)courseArray;
/* 获取用户的所有课程 */
-(NSMutableArray *)getAllCourseByUserId:(NSString *)userId;





/**
 ******************************************
 *                                        *
 *              课表数据库模块               *
 *                                        *
 ******************************************
 **/


/* 清空对应用户的课表 */
-(NSInteger)removeAllSchedule4UserId:(NSString *)userId;
/* 课表写入数据库 */
-(NSInteger)addSchedulesWithArray:(NSMutableArray *)scheduleArray;
/* 获取用户的课表 */
-(NSMutableArray *)getAllScheduleByUserId:(NSString *)userId;

/* 获取用户的星期几的课 */
-(NSMutableArray *)getScheduleByWeekDay:(NSInteger)weekDay UserId:(NSString *)userId;



@end
